Rescheduling for Locality in Sparse

نویسندگان

  • Michelle Mills Strout
  • Larry Carter
  • Jeanne Ferrante
چکیده

This talk corresponds to the paper 8] with the same name. 1 Motivation Multigrid solves a set of simultaneous linear equations optimally. That is the time and space used by the multigrid computation are proportional to N, the number of unknowns. In reality the performance of any computation is not just dictated by how many operations performed. The order of the operations and the layout of data in memory determine how well levels of cache in the target architecture are used to avoid memory latency. When a piece of data is still in cache upon reuse the computation is said to exhibit data locality. We have developed a technique for reordering computation and data in order to improve data locality. We apply this technique to Gauss-Seidel operating on an irregular mesh, because iterative algorithms like Gauss-Seidel are used as the smoother in Multigrid. In many scientiic computation the most time-consuming operation is solving a set of simultaneous linear equations, Au = f where u is a vector of unknowns. When using the Finite Diierence or Finite Element methods the equations arise from unknowns on a mesh, for example pressure or temperature. Gauss-Seidel is an example of an iterative computation used to solve Au = f. On the left we show an Iteration Space Graph of the Gauss-Seidel computation with 3 iterations shown. Each point represents an update of the u value for the corresponding mesh node. The arrows represent data dependences for once such mesh node. Gauss-Seidel uses the most recent version of the neighbors possible, so some data dependences come from points in the same i iteration and some data dependences come from points in the previous i iteration. On the right we show the overhead view of this 3D iteration space. Typically, this pattern of computation on a regular mesh is referred to as a 5 pt stencil. Since solving Au = f occurs frequently in scientiic computations, it is important for the solvers to exhibit good performance. On machines with caches improved data locality typically improves performance. Data locality occurs in a computation when the reuse is close enough in time that the data being reused is still in the faster levels of the memory hierarchy such as cache. Good data locality in Gauss-Seidel means that the data dependences for the current iteration point we are calculating are already in cache. For the purposes of this talk, …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Sparse Tiling with Symmetric Multigrid

Good data locality is an important aspect of obtaining scalable performance for multigrid methods. However, locality can be difficult to achieve, especially when working with unstructured grids and sparse matrices whose structure is not known until runtime. Our previous work developed full sparse tiling, a runtime reordering and rescheduling technique for improving locality. We applied full spa...

متن کامل

Rescheduling for Locality in Sparse Matrix Computations

In modern computer architecture the use of memory hierarchies causes a program's data locality to directly aaect performance. Data locality occurs when a piece of data is still in a cache upon reuse. For dense matrix computations, loop transformations can be used to improve data locality. However, sparse matrix computations have non-aane loop bounds and indirect memory references which prohibit...

متن کامل

ICCS 2001 talk: Rescheduling for Locality in Sparse Matrix Computations

Multigrid solves a set of simultaneous linear equations optimally. That is the time and space used by the multigrid computation are proportional to N , the number of unknowns. In reality the performance of any computation is not just dictated by how many operations performed. The order of the operations and the layout of data in memory determine how well levels of cache in the target architectu...

متن کامل

Top-down saliency with Locality-constrained Contextual Sparse Coding

We propose a locality-constrained contextual sparse coding (LCCSC) for top-down saliency estimation where higher saliency scores are assigned to the image locations corresponding to the target object. Three locality constraints are integrated in to this novel sparse coding. First is the spatial or contextual locality constraint in which features from adjacent regions have similar code, second i...

متن کامل

On improving the performance of sparse matrix-vector multiplication

We analyze single-node performance of sparse matrix-vector multiplication by investigating issues of data locality and ne-grained parallelism. We examine the data-locality characteristics of the compressed-sparse-row representation and consider improvements in locality through matrix permutation. Motivated by potential improvements in ne-grained parallelism, we evaluate modiied sparse-matrix re...

متن کامل

Sparse Indexing: Large Scale, Inline Deduplication Using Sampling and Locality

© Sparse Indexing: Large Scale, Inline Deduplication Using Sampling and Locality Mark Lillibridge, Kave Eshghi, Deepavali Bhagwat, Vinay Deolalikar, Greg Trezise, Peter Camble

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001